/**
 * i18n 插件
 */

/**
 * 定义一个插件方式：
 *
 * 一：包含一个install函数的对象
 * 二：直接一个install函数
 */

// export default {
//   install: (app, options) => {
//     // 在这里编写插件代码
//     console.log("install app", app);
//     console.log("install options", options);
//   },
// };

import Hello from "../components/Hello.vue";
import focus from "../directives/focus";

export default function (app, options) {
  app.config.globalProperties.$translate = function (key) {
    // return options[key];

    const { locales, cur } = options;

    return key.split(".").reduce((o, i) => {
      if (o) return o[i];
    }, locales[cur]);
  };

  // 1. 注册全局组件
  // app.component("Hello", Hello);
  // // 2. 注册全局指令
  // app.directive("focus", focus);
  // // 3. 提供应用层级的 provide
  // app.provide("$name", "我的天");
  // // 4. 给组件实例this都添加一些属性or方法
  // //    Vue2
  // //        Vue.prototype.$msg
  // //        Vue.prototype.$alert
  // app.config.globalProperties.$msg = "我的地";
  // app.config.globalProperties.$alert = function (msg) {
  //   alert(msg);
  // };
}
